/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package presentacion.utilidad;

/*
 * Fichero: EnviarMail.java
 * Autor: Chuidiang
 * Fecha: 5/04/07 18:14
 */

import hibernate.objeto.Usuario;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


/**
 * Ejemplo de envio de correo simple con JavaMail
 *
 * @author Chuidiang
 *
  */
public class EMail {
    /**
     * Envía un correo de recuperación de los datos de ingreso.
     *
     * @param usuario Los datos a enviar
     * @param destino El correo a donde enviar
     * @param propiedades Las propiedades del correo electronico configurado
     * @return true si se envió correctamente, false en caso contrario
     */
    public static boolean sendMail(Usuario usuario, String destino,
            Properties propiedades) {
        try {
            //Si se pudo levantar el archivo de configuración se continua
            if (propiedades != null) {
                // Preparamos la sesion
                Session session = Session.getDefaultInstance(propiedades);

                // Construimos el mensaje
                MimeMessage message = new MimeMessage(session);

                message.setFrom(
                        new InternetAddress(
                        propiedades.getProperty("mail.smtp.user")));
                message.addRecipient(
                    Message.RecipientType.TO, new InternetAddress(destino));
                message.setSubject("HCI - Recuperación de usuario");
                message.setText(
                    "Este es un mensaje de recuperación de usuario y clave.\n\n" +
                    "usuario: " + usuario.getNombreDeUsuarioUsuario() + "\n" +
                    "clave: " + usuario.getClaveUsuario());

                // Lo enviamos.
                Transport t = session.getTransport(
                        propiedades.getProperty("mail.transport.protocol"));
                t.connect(
                        propiedades.getProperty("mail.smtp.user"),
                        propiedades.getProperty("mail.smtp.pass"));
                t.sendMessage(message, message.getAllRecipients());

                // Cierre.
                t.close();
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            System.err.println(e.getMessage());
            return false;
        }
    }

    
}